-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Event listener interface and presence changes #183
Event listener interface and presence changes #183
Conversation
feat(presence-state): state maintained after set state is used `user_id` state for specified channels will be maintained by the SDK. State with subscribe calls has been improved. feat(api): adding first-class citizens to access subscription Adding `Channel`, `ChannelGroup`, `ChannelMetadata` and `UuidMetadata` entities to be first-class citizens to access APIs related to them. Currently, access is provided only for subscription APIs. feat(auto-retry): added ability to exclude endpoints from retry Added ability to configure request retry policies to exclude specific endpoints from retry.
Adding PR for initial review purpose (interface shouldn't change) and documentation. There are still troubles with contract tests. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great job!
First iteration of review here.
Some questions and nitpicks.
Changes requested in review and changes in specs.
Added information about how `Subscription` and `SubscriptionSet` instance leaving the scope can affect subscription loop. refactor(presence): leave from all channels trigger different event Made changes which will trigger different event when unsubscribing from all channels and groups.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see that you addressed all the comments from @Xavrax . So...
Make sure that `drop()` won't trigger `unregister` for `Subscription` and `SubscriptionSet` clones (which has been created with `Clone::clone()`).
Add new type to make it clear which parameters should be passed to `client.subscription(...)`.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
still LGTM
@pubnub-release-bot release |
🚀 Release successfully completed 🚀 |
feat(listener): change the real-time event handling interface
feat(presence-state): state maintained after set state is used
user_id
state for specified channels will be maintained by the SDK. State with subscribe calls has been improved.feat(api): adding first-class citizens to access subscription
Adding
Channel
,ChannelGroup
,ChannelMetadata
andUuidMetadata
entities to be first-class citizens to access APIs related to them. Currently, access is provided only for subscription APIs.feat(auto-retry): added ability to exclude endpoints from retry
Added ability to configure request retry policies to exclude specific endpoints from retry.